<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>7.原型和原型链</title>
</head>
<body>
  <!-- 1.原型 -->
  显示原型: 构造函数.prototype
  隐式原型: 实例.__proto__

  xialu.__proto__ === Student.prototype // true 
  
  <!-- 原型关系 -->
  每一个class都有显示原型prototype
  每一个实例都有隐式原型__proto__
  实例的__proto__指向对应class的prototype

  <!-- 基于原型的执行规则 -->
  获取属性xiaohu.name或者执行xialu.sayHi()
  先在自身属性和方法寻找
  如果找不到则自动去__proto__中找

  <!-- 2.原型链 -->
  原型链的终点是Object.prototype
  
  <!-- hasOwnProperty -->
  判断自身是否存在这个属性，不包括原型上的属性



  
</body>
</html>